﻿using Estsh.Core.Base;
using Estsh.Core.Services;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Model.Extend.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using Estsh.Core.Model.Extend;

namespace Estsh.Core.Wms.IServices
{
    public interface IMoveOrderService : IBaseService<WmsMoveHeader>
    {
        /// <summary>
        /// 获取正在创建中的单据
        /// </summary>
        /// <returns></returns>
        public List<WmsMoveHeader> GetCreateingList();
        /// <summary>
        /// 处理扫描的箱条码
        /// </summary>
        /// <param name="cartonNo"></param>
        /// <param name="orderNo"></param>
        /// <param name="loginId"></param>
        /// <returns></returns>
        public WmsResponseResult_Extend DoCarton(string cartonNo, string orderNo, int orderType, string loginId, string RelevanceOrder);
        /// <summary>
        /// 提交单据
        /// </summary>
        /// <param name="orderNo"></param>
        /// <param name="loginId"></param>
        /// <returns></returns>
        public WmsResponseResult SubmitOrder(string orderNo, string loginId);
        /// <summary>
        /// 根据单据类型获取此类型待处理的单据列表,如果单据类型为空，则获取全部类型
        /// </summary>
        /// <returns></returns>
        public List<WmsMoveHeader> GetMoveOrderList(int? orderType, string orderNo);

        /// <summary>
        /// 根据单据号获取单据明细列表
        /// </summary>
        /// <param name="orderNo"></param>
        /// <returns></returns>
        public List<WmsMoveDetail> GetMoveDetailList(string orderNo);
    }
}
